"""
Objective-C LSP 客户端

基于 clangd 的 Objective-C/C/C++ 语言服务器集成。
"""

from typing import List
from .lsp_client import LSPClient


class ObjCLSPClient(LSPClient):
    """
    clangd 客户端

    提供 Objective-C, C, C++ 代码的 LSP 功能:
    - 符号重命名
    - 查找引用
    - 查找定义
    - 代码补全
    """

    def get_server_command(self) -> List[str]:
        """
        获取 clangd 启动命令

        Returns:
            命令行参数列表
        """
        return ["clangd", "--log=error"]

    def _get_language_id(self) -> str:
        """
        获取 Objective-C 语言 ID

        Returns:
            'objective-c'
        """
        return "objective-c"
